/*
 * FeeBO.java
 *
 * Created on March 5, 2007, 8:07 PM
 *
 * Is an abstract class that holds the common attributes of its two sub-classes
 * (LateFeeBO, and DamageFeeBO).  Attributes included are the Amount of the fee
 * and whether or not it was waived by management
 */

package edu.byu.isys413.group1E.data;

/**
 * @author Jon Tehero
 */
public class FeeBO extends RevenueSourceBO {
    private String rentalID;
    private String employee;
    private double amount;
    private boolean waived;
    private boolean damaged;
    private int daysLate;
    private String description;
    private boolean alreadyInDB;
    private boolean dirty;
    
    /** Creates a new instance of SaleBO */
    FeeBO() {
        this.setType("fee");
        this.setIsDirty(true);
    }
    
    /** Creates a new instance of TransactionBO with an ID*/
    FeeBO(String revSrcID) {
        this.setType("fee");
        setRevSrcID(revSrcID);
        this.setIsDirty(true);
    }

    public String getRentalID() {
        return rentalID;
    }

    public void setRentalID(String rentalID) {
        this.rentalID = rentalID;
        this.setIsDirty(true);
    }

    public String getEmployee() {
        return employee;
    }

    public void setEmployee(String employee) {
        this.employee = employee;
        this.setIsDirty(true);
    }

    public double getAmount() {
        return amount;
    }

    public void setAmount(double amount) {
        this.amount = amount;
        this.setIsDirty(true);
    }

    public boolean isWaived() {
        return waived;
    }

    public void setWaived(boolean waived) {
        this.waived = waived;
        this.setIsDirty(true);
    }

    public boolean isDamaged() {
        return damaged;
    }

    public void setDamaged(boolean damaged) {
        this.damaged = damaged;
        this.setIsDirty(true);
    }

    public int getDaysLate() {
        return daysLate;
    }

    public void setDaysLate(int daysLate){
        this.daysLate = daysLate;
        this.setIsDirty(true);
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
        this.setIsDirty(true);
    }

    public boolean isAlreadyInDB() {
        return alreadyInDB;
    }

    public void setAlreadyInDB(boolean alreadyInDB) {
        this.alreadyInDB = alreadyInDB;
        this.setIsDirty(true);
    }

    public boolean isDirty() {
        return dirty;
    }

    public void setDirty(boolean dirty) {
        this.dirty = dirty;
    }
}